小明同時學會輸入指令操作著終端機、
以及透過滑鼠操作著圖像化介面的 Sourcetree 軟體,
又完成一項如何操作 Git 的概念,信心也逐漸大增。
小明:「完成了。」
小明:「不過,另一個還原的方法是什麼呢?」
小華:「假設今天是不小心進行 Commit,那麼如何還原呢?」
在 Windows 作業系統,透過命令提示字元或 PowerShell 開啟類似終端機的視窗。
在 Mac OS 作業系統,透過終端機或 iTerm 開啟終端機的視窗。
請依照下列的步驟執行,透過指令退回至指定的 Commit 囉:
(步驟一) 請打開終端機的視窗。
(步驟二) 前往工作目錄,請輸入指令:cd "目錄的名稱"
(步驟三) 檢視 Commit 紀錄取得 SHA-1 亂碼文字:git log
或 git reflog
(步驟四 - A) 退回至指定的 Commit(有幾個 ^ 代表往前退回幾次):git reset 亂碼文字^^^
或 git reset 亂碼文字~3
(步驟四 - B) 依照目前 master 分支或 HEAD 指標的位置,退回至指定的 Commit(有幾個 ^ 代表往前退回幾次):git reset master^^^
或 git reset HEAD~3
請依照下列的步驟執行,透過滑鼠操控介面,退回至指定的 Commit:
(步驟一) 點擊 Sourcetree 軟體圖示,開啟舊目錄。
(步驟二) 查看左側項目,點選 History 項目。
(步驟三) 選擇指定退回的 Commit,點擊右鍵出現選單,點選「Reset master to this commit」選項。
(步驟四) 跳出視窗,確認 git reset
所搭配的參數,決定檔案的去留,點擊 OK 按鈕。
(步驟五) master 分支以及 HEAD 指標,前往指定退回的 Commit。
git reset
所搭配的參數會決定檔案的去留,分成下列的三種模式:
接下來,忽略,又是如何進行呢?
(1) 高見龍 -【狀況題】剛才的 Commit 後悔了,想要拆掉重做…
(2) 高見龍 -【狀況題】不小心使用 hard 模式 Reset 了某個 Commit,救得回來嗎?